package com.scott.delegate;

/**
 * 执行者
 * 也有Doing操作
 *
 * 委派模式关注的是结果，具体过程不关注
 *
 * Spring IOC 容器中有一个Register
 * (为了告诉容器，在这个类被初始化的过程中需要做很多不同的逻辑处理，需要实现多个任务执行者，分别实现各自的功能)
 */
public class Dispatcher implements IExecutor {

    /**
     * 任务执行的接口
     */
    private IExecutor executor;


    Dispatcher(IExecutor executor){
        this.executor = executor;
    }

    /**
     * 执行者也有doing操作，但是他不进行具体的doing操作，
     * 而是将这些操作通过任务分配给具体的执行者进行执行
     *
     * 他不是做具体做事情的
     */
    public void doing() {

        this.executor.doing();

    }
}
